package fr.afcepf.ai85.ent;

// Generated 21 mars 2013 17:20:56 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * PeriodeInscription generated by hbm2java
 */
@Entity
@Table(name = "periode_inscription", catalog = "gepeto_db")
public class PeriodeInscription implements java.io.Serializable {

	private Integer idPeriode;
	private Date dateDebutInscription;
	private Date dateFinInscription;
	private Date dateLimiteDInscription;
	private Set<PlanningFreqOccas> planningFreqOccases = new HashSet<PlanningFreqOccas>(
			0);
	private Set<InscriptionPeriscolaire> inscriptionPeriscolaires = new HashSet<InscriptionPeriscolaire>(
			0);
	private Set<PlanningFreqReguliere> planningFreqRegulieres = new HashSet<PlanningFreqReguliere>(
			0);

	public PeriodeInscription() {
	}

	public PeriodeInscription(Date dateDebutInscription,
			Date dateFinInscription, Date dateLimiteDInscription,
			Set<PlanningFreqOccas> planningFreqOccases,
			Set<InscriptionPeriscolaire> inscriptionPeriscolaires,
			Set<PlanningFreqReguliere> planningFreqRegulieres) {
		this.dateDebutInscription = dateDebutInscription;
		this.dateFinInscription = dateFinInscription;
		this.dateLimiteDInscription = dateLimiteDInscription;
		this.planningFreqOccases = planningFreqOccases;
		this.inscriptionPeriscolaires = inscriptionPeriscolaires;
		this.planningFreqRegulieres = planningFreqRegulieres;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID_PERIODE", unique = true, nullable = false)
	public Integer getIdPeriode() {
		return this.idPeriode;
	}

	public void setIdPeriode(Integer idPeriode) {
		this.idPeriode = idPeriode;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATE_DEBUT_INSCRIPTION", length = 10)
	public Date getDateDebutInscription() {
		return this.dateDebutInscription;
	}

	public void setDateDebutInscription(Date dateDebutInscription) {
		this.dateDebutInscription = dateDebutInscription;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATE_FIN_INSCRIPTION", length = 10)
	public Date getDateFinInscription() {
		return this.dateFinInscription;
	}

	public void setDateFinInscription(Date dateFinInscription) {
		this.dateFinInscription = dateFinInscription;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATE_LIMITE_D_INSCRIPTION", length = 10)
	public Date getDateLimiteDInscription() {
		return this.dateLimiteDInscription;
	}

	public void setDateLimiteDInscription(Date dateLimiteDInscription) {
		this.dateLimiteDInscription = dateLimiteDInscription;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "periodeInscription")
	public Set<PlanningFreqOccas> getPlanningFreqOccases() {
		return this.planningFreqOccases;
	}

	public void setPlanningFreqOccases(
			Set<PlanningFreqOccas> planningFreqOccases) {
		this.planningFreqOccases = planningFreqOccases;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "periodeInscription")
	public Set<InscriptionPeriscolaire> getInscriptionPeriscolaires() {
		return this.inscriptionPeriscolaires;
	}

	public void setInscriptionPeriscolaires(
			Set<InscriptionPeriscolaire> inscriptionPeriscolaires) {
		this.inscriptionPeriscolaires = inscriptionPeriscolaires;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "periodeInscription")
	public Set<PlanningFreqReguliere> getPlanningFreqRegulieres() {
		return this.planningFreqRegulieres;
	}

	public void setPlanningFreqRegulieres(
			Set<PlanningFreqReguliere> planningFreqRegulieres) {
		this.planningFreqRegulieres = planningFreqRegulieres;
	}

}
